<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GMimeCryptoContext: GMime 3.0 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GMime 3.0 Reference Manual">
<link rel="up" href="CryptoContexts.html" title="Cryptography Contexts">
<link rel="prev" href="GMimeSignature.html" title="GMimeSignature">
<link rel="next" href="GMimeGpgContext.html" title="GMimeGpgContext">
<meta name="generator" content="GTK-Doc V1.32 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GMimeCryptoContext.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GMimeCryptoContext.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="CryptoContexts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GMimeSignature.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GMimeGpgContext.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GMimeCryptoContext"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GMimeCryptoContext.top_of_page"></a>GMimeCryptoContext</span></h2>
<p>GMimeCryptoContext — Encryption/signing contexts</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GMimeCryptoContext.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="returnvalue">GMimeCryptoContext</span></a> *
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="GMimeCryptoContext.html#GMimeCryptoContextNewFunc" title="GMimeCryptoContextNewFunc ()">*GMimeCryptoContextNewFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="GMimeCryptoContext.html#GMimePasswordRequestFunc" title="GMimePasswordRequestFunc ()">*GMimePasswordRequestFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-register" title="g_mime_crypto_context_register ()">g_mime_crypto_context_register</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="returnvalue">GMimeCryptoContext</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-new" title="g_mime_crypto_context_new ()">g_mime_crypto_context_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-set-request-password" title="g_mime_crypto_context_set_request_password ()">g_mime_crypto_context_set_request_password</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-signature-protocol" title="g_mime_crypto_context_get_signature_protocol ()">g_mime_crypto_context_get_signature_protocol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-encryption-protocol" title="g_mime_crypto_context_get_encryption_protocol ()">g_mime_crypto_context_get_encryption_protocol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-get-key-exchange-protocol" title="g_mime_crypto_context_get_key_exchange_protocol ()">g_mime_crypto_context_get_key_exchange_protocol</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-digest-id" title="g_mime_crypto_context_digest_id ()">g_mime_crypto_context_digest_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-digest-name" title="g_mime_crypto_context_digest_name ()">g_mime_crypto_context_digest_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">int</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-sign" title="g_mime_crypto_context_sign ()">g_mime_crypto_context_sign</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-verify" title="g_mime_crypto_context_verify ()">g_mime_crypto_context_verify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">int</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-encrypt" title="g_mime_crypto_context_encrypt ()">g_mime_crypto_context_encrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-decrypt" title="g_mime_crypto_context_decrypt ()">g_mime_crypto_context_decrypt</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">int</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-import-keys" title="g_mime_crypto_context_import_keys ()">g_mime_crypto_context_import_keys</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">int</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-crypto-context-export-keys" title="g_mime_crypto_context_export_keys ()">g_mime_crypto_context_export_keys</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-new" title="g_mime_decrypt_result_new ()">g_mime_decrypt_result_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="returnvalue">GMimeCertificateList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-recipients" title="g_mime_decrypt_result_get_recipients ()">g_mime_decrypt_result_get_recipients</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-recipients" title="g_mime_decrypt_result_set_recipients ()">g_mime_decrypt_result_set_recipients</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-signatures" title="g_mime_decrypt_result_get_signatures ()">g_mime_decrypt_result_get_signatures</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-signatures" title="g_mime_decrypt_result_set_signatures ()">g_mime_decrypt_result_set_signatures</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="returnvalue">GMimeCipherAlgo</span></a>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-cipher" title="g_mime_decrypt_result_get_cipher ()">g_mime_decrypt_result_get_cipher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-cipher" title="g_mime_decrypt_result_set_cipher ()">g_mime_decrypt_result_set_cipher</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-mdc" title="g_mime_decrypt_result_get_mdc ()">g_mime_decrypt_result_get_mdc</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-mdc" title="g_mime_decrypt_result_set_mdc ()">g_mime_decrypt_result_set_mdc</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-session-key" title="g_mime_decrypt_result_get_session_key ()">g_mime_decrypt_result_get_session_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-set-session-key" title="g_mime_decrypt_result_set_session_key ()">g_mime_decrypt_result_set_session_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GMimeDecryptResult"></a><div class="refsect1">
<a name="GMimeCryptoContext.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="other_proto_type">
<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptFlags" title="enum GMimeDecryptFlags">GMimeDecryptFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeEncryptFlags" title="enum GMimeEncryptFlags">GMimeEncryptFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeVerifyFlags" title="enum GMimeVerifyFlags">GMimeVerifyFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeCryptoContext-struct" title="struct GMimeCryptoContext">GMimeCryptoContext</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo">GMimeCipherAlgo</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult-struct" title="struct GMimeDecryptResult">GMimeDecryptResult</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GMimeCryptoContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">├──</span> GMimeCryptoContext
    <span class="lineart">│</span>   <span class="lineart">├──</span> <a class="link" href="GMimeGpgContext.html" title="GMimeGpgContext">GMimeGpgContext</a>
    <span class="lineart">│</span>   <span class="lineart">╰──</span> <a class="link" href="GMimePkcs7Context.html" title="GMimePkcs7Context">GMimePkcs7Context</a>
    <span class="lineart">╰──</span> GMimeDecryptResult
</pre>
</div>
<div class="refsect1">
<a name="GMimeCryptoContext.description"></a><h2>Description</h2>
<p>A <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> is used for encrypting, decrypting, signing
and verifying cryptographic signatures.</p>
</div>
<div class="refsect1">
<a name="GMimeCryptoContext.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GMimeCryptoContextNewFunc"></a><h3>GMimeCryptoContextNewFunc ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="returnvalue">GMimeCryptoContext</span></a> *
<span class="c_punctuation">(</span>*GMimeCryptoContextNewFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>A callback used to create a new instance of a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> subclass.</p>
<div class="refsect3">
<a name="GMimeCryptoContextNewFunc.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> instance.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimePasswordRequestFunc"></a><h3>GMimePasswordRequestFunc ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
<span class="c_punctuation">(</span>*GMimePasswordRequestFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *user_id</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *prompt</code></em>,
                             <em class="parameter"><code><span class="type">gboolean</span> reprompt</code></em>,
                             <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *response</code></em>,
                             <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>A password request callback allowing a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> to
prompt the user for a password for a given key.</p>
<div class="refsect3">
<a name="GMimePasswordRequestFunc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>the <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> making the request</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_id</p></td>
<td class="parameter_description"><p>the user_id of the password being requested</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prompt</p></td>
<td class="parameter_description"><p>a string containing some helpful context for the prompt</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>reprompt</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if this password request is a reprompt due to a previously bad password response</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>response</p></td>
<td class="parameter_description"><p>a stream for the application to write the password to (followed by a newline '\n' character)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span> for the callback to set if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GMimePasswordRequestFunc.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> on success or <code class="literal">FALSE</code> on error.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-register"></a><h3>g_mime_crypto_context_register ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_crypto_context_register (<em class="parameter"><code>const <span class="type">char</span> *protocol</code></em>,
                                <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeCryptoContextNewFunc" title="GMimeCryptoContextNewFunc ()"><span class="type">GMimeCryptoContextNewFunc</span></a> callback</code></em>);</pre>
<p>Registers the callback for the specified <em class="parameter"><code>protocol</code></em>
.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="g-mime-crypto-context-register.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>protocol</p></td>
<td class="parameter_description"><p>crypto protocol</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeCryptoContextNewFunc" title="GMimeCryptoContextNewFunc ()"><span class="type">GMimeCryptoContextNewFunc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-new"></a><h3>g_mime_crypto_context_new ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="returnvalue">GMimeCryptoContext</span></a> *
g_mime_crypto_context_new (<em class="parameter"><code>const <span class="type">char</span> *protocol</code></em>);</pre>
<p>Creates a new crypto context for the specified <em class="parameter"><code>protocol</code></em>
.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>protocol</p></td>
<td class="parameter_description"><p>the crypto protocol</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-new.returns"></a><h4>Returns</h4>
<p>a newly allocated <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a>. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-set-request-password"></a><h3>g_mime_crypto_context_set_request_password ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_crypto_context_set_request_password
                               (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                                <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimePasswordRequestFunc" title="GMimePasswordRequestFunc ()"><span class="type">GMimePasswordRequestFunc</span></a> request_passwd</code></em>);</pre>
<p>Sets the function used by the <em class="parameter"><code>ctx</code></em>
 for requesting a password from
the user.</p>
<p><span class="annotation">[<a href="http://foldoc.org/skip"><span class="acronym">skip</span></a>]</span></p>
<div class="refsect3">
<a name="g-mime-crypto-context-set-request-password.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>request_passwd</p></td>
<td class="parameter_description"><p>a callback function for requesting a password</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-get-signature-protocol"></a><h3>g_mime_crypto_context_get_signature_protocol ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_mime_crypto_context_get_signature_protocol
                               (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
<p>Gets the signature protocol for the crypto context.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-get-signature-protocol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-get-signature-protocol.returns"></a><h4>Returns</h4>
<p>the signature protocol or <code class="literal">NULL</code> if not supported. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-get-encryption-protocol"></a><h3>g_mime_crypto_context_get_encryption_protocol ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_mime_crypto_context_get_encryption_protocol
                               (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
<p>Gets the encryption protocol for the crypto context.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-get-encryption-protocol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-get-encryption-protocol.returns"></a><h4>Returns</h4>
<p>the encryption protocol or <code class="literal">NULL</code> if not supported. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-get-key-exchange-protocol"></a><h3>g_mime_crypto_context_get_key_exchange_protocol ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_mime_crypto_context_get_key_exchange_protocol
                               (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>);</pre>
<p>Gets the key exchange protocol for the crypto context.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-get-key-exchange-protocol.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-get-key-exchange-protocol.returns"></a><h4>Returns</h4>
<p>the key exchange protocol or <code class="literal">NULL</code> if not supported. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-digest-id"></a><h3>g_mime_crypto_context_digest_id ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a>
g_mime_crypto_context_digest_id (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
<p>Gets the digest id based on the digest name.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-digest-id.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>digest name</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-digest-id.returns"></a><h4>Returns</h4>
<p> the equivalent digest id or <a class="link" href="GMimeCertificate.html#GMIME-DIGEST-ALGO-DEFAULT:CAPS"><span class="type">GMIME_DIGEST_ALGO_DEFAULT</span></a> on fail.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-digest-name"></a><h3>g_mime_crypto_context_digest_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_mime_crypto_context_digest_name (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                                   <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> digest</code></em>);</pre>
<p>Gets the digest name based on the digest id <em class="parameter"><code>digest</code></em>
.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-digest-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>digest</p></td>
<td class="parameter_description"><p>digest id</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-digest-name.returns"></a><h4>Returns</h4>
<p>the equivalent digest name or <code class="literal">NULL</code> on fail. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-sign"></a><h3>g_mime_crypto_context_sign ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
g_mime_crypto_context_sign (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                            <em class="parameter"><code><span class="type">gboolean</span> detach</code></em>,
                            <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
                            <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
                            <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
                            <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Signs the input stream and writes the resulting signature to the output stream.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-sign.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>detach</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if <em class="parameter"><code>ostream</code></em>
should be the detached signature; otherwise, <code class="literal">FALSE</code></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>userid</p></td>
<td class="parameter_description"><p>private key to use to sign the stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>istream</p></td>
<td class="parameter_description"><p>input stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ostream</p></td>
<td class="parameter_description"><p>output stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-sign.returns"></a><h4>Returns</h4>
<p> the <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> used on success or <code class="literal">-1</code> on fail.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-verify"></a><h3>g_mime_crypto_context_verify ()</h3>
<pre class="programlisting"><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> *
g_mime_crypto_context_verify (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                              <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeVerifyFlags" title="enum GMimeVerifyFlags"><span class="type">GMimeVerifyFlags</span></a> flags</code></em>,
                              <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
                              <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *sigstream</code></em>,
                              <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
                              <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Verifies the signature. If <em class="parameter"><code>istream</code></em>
 is a clearsigned stream, you
should pass <code class="literal">NULL</code> as the <em class="parameter"><code>sigstream</code></em>
 parameter and may wish to
provide an <em class="parameter"><code>ostream</code></em>
 argument for GMime to output the original
plaintext into. Otherwise <em class="parameter"><code>sigstream</code></em>
 is assumed to be the signature
stream and is used to verify the integirity of the <em class="parameter"><code>istream</code></em>
.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-verify.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeVerifyFlags" title="enum GMimeVerifyFlags"><span class="type">GMimeVerifyFlags</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>istream</p></td>
<td class="parameter_description"><p>input stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sigstream</p></td>
<td class="parameter_description"><p>detached-signature stream. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>ostream</p></td>
<td class="parameter_description"><p>output stream for use with encapsulated signature input streams. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-verify.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> object containing
the status of each signature or <code class="literal">NULL</code> on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-encrypt"></a><h3>g_mime_crypto_context_encrypt ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
g_mime_crypto_context_encrypt (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                               <em class="parameter"><code><span class="type">gboolean</span> sign</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *userid</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeEncryptFlags" title="enum GMimeEncryptFlags"><span class="type">GMimeEncryptFlags</span></a> flags</code></em>,
                               <em class="parameter"><code><span class="type">GPtrArray</span> *recipients</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Encrypts (and optionally signs) the cleartext input stream and
writes the resulting ciphertext to the output stream.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-encrypt.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>sign</p></td>
<td class="parameter_description"><p>sign as well as encrypt</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>userid</p></td>
<td class="parameter_description"><p>the key id (or email address) to use when signing (assuming <em class="parameter"><code>sign</code></em>
is <code class="literal">TRUE</code>). </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>a set of <a class="link" href="GMimeCryptoContext.html#GMimeEncryptFlags" title="enum GMimeEncryptFlags"><span class="type">GMimeEncryptFlags</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>recipients</p></td>
<td class="parameter_description"><p>an array of recipient key ids and/or email addresses. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> utf8]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>istream</p></td>
<td class="parameter_description"><p>cleartext input stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ostream</p></td>
<td class="parameter_description"><p>ciphertext output stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-encrypt.returns"></a><h4>Returns</h4>
<p> <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-decrypt"></a><h3>g_mime_crypto_context_decrypt ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> *
g_mime_crypto_context_decrypt (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptFlags" title="enum GMimeDecryptFlags"><span class="type">GMimeDecryptFlags</span></a> flags</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *session_key</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
                               <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Decrypts the ciphertext input stream and writes the resulting cleartext
to the output stream.</p>
<p>When non-<code class="literal">NULL</code>, <em class="parameter"><code>session_key</code></em>
 should be a <code class="literal">NULL</code>-terminated string,
such as the one returned by <a class="link" href="GMimeCryptoContext.html#g-mime-decrypt-result-get-session-key" title="g_mime_decrypt_result_get_session_key ()"><code class="function">g_mime_decrypt_result_get_session_key()</code></a>
from a previous decryption. If the <em class="parameter"><code>session_key</code></em>
 is not valid, decryption
will fail.</p>
<p>If the encrypted input stream was also signed, the returned
<a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> will have a non-<code class="literal">NULL</code> list of signatures, each with a
<a class="link" href="GMimeSignature.html#GMimeSignatureStatus" title="enum GMimeSignatureStatus"><span class="type">GMimeSignatureStatus</span></a> (among other details about each signature).</p>
<p>On success, the returned <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> will contain a list of
certificates, one for each recipient, that the original encrypted stream
was encrypted to.</p>
<p>Note: It *may* be possible to maliciously design an encrypted stream such
that recursively decrypting it will result in an endless loop, causing
a denial of service attack on your application.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-decrypt.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>flags</p></td>
<td class="parameter_description"><p>a set of <a class="link" href="GMimeCryptoContext.html#GMimeDecryptFlags" title="enum GMimeDecryptFlags"><span class="type">GMimeDecryptFlags</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>session_key</p></td>
<td class="parameter_description"><p>the session key to use or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>istream</p></td>
<td class="parameter_description"><p>input/ciphertext stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ostream</p></td>
<td class="parameter_description"><p>output/cleartext stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-decrypt.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> on success or <code class="literal">NULL</code>
on error. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-import-keys"></a><h3>g_mime_crypto_context_import_keys ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
g_mime_crypto_context_import_keys (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                                   <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *istream</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Imports a stream of keys/certificates contained within <em class="parameter"><code>istream</code></em>

into the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>
.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-import-keys.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>istream</p></td>
<td class="parameter_description"><p>input stream (containing keys)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-import-keys.returns"></a><h4>Returns</h4>
<p> the total number of keys imported on success or <code class="literal">-1</code> on fail.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-crypto-context-export-keys"></a><h3>g_mime_crypto_context_export_keys ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>
g_mime_crypto_context_export_keys (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a> *ctx</code></em>,
                                   <em class="parameter"><code>const <span class="type">char</span> *keys[]</code></em>,
                                   <em class="parameter"><code><a class="link" href="GMimeStream.html" title="GMimeStream"><span class="type">GMimeStream</span></a> *ostream</code></em>,
                                   <em class="parameter"><code><span class="type">GError</span> **err</code></em>);</pre>
<p>Exports the keys/certificates in <em class="parameter"><code>keys</code></em>
 to the stream <em class="parameter"><code>ostream</code></em>
 from
the key/certificate database controlled by <em class="parameter"><code>ctx</code></em>
.</p>
<p>If <em class="parameter"><code>keys</code></em>
 is <code class="literal">NULL</code> or contains only a <code class="literal">NULL</code> element, then all keys
will be exported.</p>
<div class="refsect3">
<a name="g-mime-crypto-context-export-keys.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html" title="GMimeCryptoContext"><span class="type">GMimeCryptoContext</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keys</p></td>
<td class="parameter_description"><p>an array of key ids, terminated by a <code class="literal">NULL</code> element</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ostream</p></td>
<td class="parameter_description"><p>output stream</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>err</p></td>
<td class="parameter_description"><p>a <span class="type">GError</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-crypto-context-export-keys.returns"></a><h4>Returns</h4>
<p> <code class="literal">0</code> on success or <code class="literal">-1</code> on fail.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-new"></a><h3>g_mime_decrypt_result_new ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="returnvalue">GMimeDecryptResult</span></a> *
g_mime_decrypt_result_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Creates a new <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> object.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> object.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-get-recipients"></a><h3>g_mime_decrypt_result_get_recipients ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="returnvalue">GMimeCertificateList</span></a> *
g_mime_decrypt_result_get_recipients (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
<p>Gets the list of certificates that the stream had been encrypted to.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-recipients.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-recipients.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a>. </p>
<p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-set-recipients"></a><h3>g_mime_decrypt_result_set_recipients ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_decrypt_result_set_recipients (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
                                      <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a> *recipients</code></em>);</pre>
<p>Sets the list of certificates that the stream had been encrypted to.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-set-recipients.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>recipients</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeCertificate.html#GMimeCertificateList"><span class="type">GMimeCertificateList</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-get-signatures"></a><h3>g_mime_decrypt_result_get_signatures ()</h3>
<pre class="programlisting"><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="returnvalue">GMimeSignatureList</span></a> *
g_mime_decrypt_result_get_signatures (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
<p>Gets a list of signatures if the encrypted stream had also been signed.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-signatures.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-signatures.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> or <code class="literal">NULL</code> if the
stream was not signed. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-set-signatures"></a><h3>g_mime_decrypt_result_set_signatures ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_decrypt_result_set_signatures (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
                                      <em class="parameter"><code><a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a> *signatures</code></em>);</pre>
<p>Sets the list of signatures.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-set-signatures.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>signatures</p></td>
<td class="parameter_description"><p>A <a class="link" href="GMimeSignature.html#GMimeSignatureList"><span class="type">GMimeSignatureList</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-get-cipher"></a><h3>g_mime_decrypt_result_get_cipher ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="returnvalue">GMimeCipherAlgo</span></a>
g_mime_decrypt_result_get_cipher (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
<p>Get the cipher algorithm used.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-cipher.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-cipher.returns"></a><h4>Returns</h4>
<p> the cipher algorithm used.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-set-cipher"></a><h3>g_mime_decrypt_result_set_cipher ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_decrypt_result_set_cipher (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
                                  <em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a> cipher</code></em>);</pre>
<p>Set the cipher algorithm used.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-set-cipher.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cipher</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeCipherAlgo" title="enum GMimeCipherAlgo"><span class="type">GMimeCipherAlgo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-get-mdc"></a><h3>g_mime_decrypt_result_get_mdc ()</h3>
<pre class="programlisting"><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="returnvalue">GMimeDigestAlgo</span></a>
g_mime_decrypt_result_get_mdc (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
<p>Get the mdc digest algorithm used.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-mdc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-mdc.returns"></a><h4>Returns</h4>
<p> the mdc digest algorithm used.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-set-mdc"></a><h3>g_mime_decrypt_result_set_mdc ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_decrypt_result_set_mdc (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
                               <em class="parameter"><code><a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a> mdc</code></em>);</pre>
<p>Set the mdc digest algorithm used.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-set-mdc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>mdc</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCertificate.html#GMimeDigestAlgo" title="enum GMimeDigestAlgo"><span class="type">GMimeDigestAlgo</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-get-session-key"></a><h3>g_mime_decrypt_result_get_session_key ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
g_mime_decrypt_result_get_session_key (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>);</pre>
<p>Get the session key used for this decryption.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-session-key.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-mime-decrypt-result-get-session-key.returns"></a><h4>Returns</h4>
<p>the session key digest algorithm used, or <code class="literal">NULL</code> if no
session key was requested or found. </p>
<p><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-mime-decrypt-result-set-session-key"></a><h3>g_mime_decrypt_result_set_session_key ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
g_mime_decrypt_result_set_session_key (<em class="parameter"><code><a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a> *result</code></em>,
                                       <em class="parameter"><code>const <span class="type">char</span> *session_key</code></em>);</pre>
<p>Set the session key to be returned by this decryption result.</p>
<div class="refsect3">
<a name="g-mime-decrypt-result-set-session-key.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>result</p></td>
<td class="parameter_description"><p>a <a class="link" href="GMimeCryptoContext.html#GMimeDecryptResult"><span class="type">GMimeDecryptResult</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>session_key</p></td>
<td class="parameter_description"><p>a string representing the session key or <code class="literal">NULL</code> to unset the key. </p></td>
<td class="parameter_annotations"><span class="annotation">[<a href="http://foldoc.org/nullable"><span class="acronym">nullable</span></a>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="GMimeCryptoContext.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GMimeDecryptFlags"></a><h3>enum GMimeDecryptFlags</h3>
<p>Decryption flags.</p>
<div class="refsect3">
<a name="GMimeDecryptFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GMIME-DECRYPT-NONE:CAPS"></a>GMIME_DECRYPT_NONE</p></td>
<td class="enum_member_description">
<p>No flags specified.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-DECRYPT-EXPORT-SESSION-KEY:CAPS"></a>GMIME_DECRYPT_EXPORT_SESSION_KEY</p></td>
<td class="enum_member_description">
<p>Export the decryption session-key.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-DECRYPT-NO-VERIFY:CAPS"></a>GMIME_DECRYPT_NO_VERIFY</p></td>
<td class="enum_member_description">
<p>Disable signature verification.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-DECRYPT-ENABLE-KEYSERVER-LOOKUPS:CAPS"></a>GMIME_DECRYPT_ENABLE_KEYSERVER_LOOKUPS</p></td>
<td class="enum_member_description">
<p>Enable OpenPGP keyserver lookups.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-DECRYPT-ENABLE-ONLINE-CERTIFICATE-CHECKS:CAPS"></a>GMIME_DECRYPT_ENABLE_ONLINE_CERTIFICATE_CHECKS</p></td>
<td class="enum_member_description">
<p>Enable CRL and OCSP checks that require network lookups.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimeEncryptFlags"></a><h3>enum GMimeEncryptFlags</h3>
<p>Encryption flags.</p>
<div class="refsect3">
<a name="GMimeEncryptFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GMIME-ENCRYPT-NONE:CAPS"></a>GMIME_ENCRYPT_NONE</p></td>
<td class="enum_member_description">
<p>No flags specified.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-ENCRYPT-ALWAYS-TRUST:CAPS"></a>GMIME_ENCRYPT_ALWAYS_TRUST</p></td>
<td class="enum_member_description">
<p>Always trust the specified keys.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-ENCRYPT-NO-COMPRESS:CAPS"></a>GMIME_ENCRYPT_NO_COMPRESS</p></td>
<td class="enum_member_description">
<p>Don't compress the plaintext before encrypting.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-ENCRYPT-SYMMETRIC:CAPS"></a>GMIME_ENCRYPT_SYMMETRIC</p></td>
<td class="enum_member_description">
<p>Encrypt symmetrically.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-ENCRYPT-THROW-KEYIDS:CAPS"></a>GMIME_ENCRYPT_THROW_KEYIDS</p></td>
<td class="enum_member_description">
<p>Do not include the key ids in the ciphertext.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimeVerifyFlags"></a><h3>enum GMimeVerifyFlags</h3>
<p>Signature verification flags.</p>
<div class="refsect3">
<a name="GMimeVerifyFlags.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GMIME-VERIFY-NONE:CAPS"></a>GMIME_VERIFY_NONE</p></td>
<td class="enum_member_description">
<p>No flags specified.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-VERIFY-ENABLE-KEYSERVER-LOOKUPS:CAPS"></a>GMIME_VERIFY_ENABLE_KEYSERVER_LOOKUPS</p></td>
<td class="enum_member_description">
<p>Enable OpenPGP keyserver lookups.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-VERIFY-ENABLE-ONLINE-CERTIFICATE-CHECKS:CAPS"></a>GMIME_VERIFY_ENABLE_ONLINE_CERTIFICATE_CHECKS</p></td>
<td class="enum_member_description">
<p>Enable CRL and OCSP checks that require network lookups.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimeCryptoContext-struct"></a><h3>struct GMimeCryptoContext</h3>
<pre class="programlisting">struct GMimeCryptoContext;</pre>
<p>A crypto context for use with MIME.</p>
<div class="refsect3">
<a name="GMimeCryptoContext.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimeCipherAlgo"></a><h3>enum GMimeCipherAlgo</h3>
<p>A cipher algorithm.</p>
<div class="refsect3">
<a name="GMimeCipherAlgo.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-DEFAULT:CAPS"></a>GMIME_CIPHER_ALGO_DEFAULT</p></td>
<td class="enum_member_description">
<p>The default (or unknown) cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-IDEA:CAPS"></a>GMIME_CIPHER_ALGO_IDEA</p></td>
<td class="enum_member_description">
<p>The IDEA cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-3DES:CAPS"></a>GMIME_CIPHER_ALGO_3DES</p></td>
<td class="enum_member_description">
<p>The 3DES cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-CAST5:CAPS"></a>GMIME_CIPHER_ALGO_CAST5</p></td>
<td class="enum_member_description">
<p>The CAST5 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-BLOWFISH:CAPS"></a>GMIME_CIPHER_ALGO_BLOWFISH</p></td>
<td class="enum_member_description">
<p>The Blowfish cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-AES:CAPS"></a>GMIME_CIPHER_ALGO_AES</p></td>
<td class="enum_member_description">
<p>The AES (aka RIJANDALE) cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-AES192:CAPS"></a>GMIME_CIPHER_ALGO_AES192</p></td>
<td class="enum_member_description">
<p>The AES-192 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-AES256:CAPS"></a>GMIME_CIPHER_ALGO_AES256</p></td>
<td class="enum_member_description">
<p>The AES-256 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-TWOFISH:CAPS"></a>GMIME_CIPHER_ALGO_TWOFISH</p></td>
<td class="enum_member_description">
<p>The Twofish cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-CAMELLIA128:CAPS"></a>GMIME_CIPHER_ALGO_CAMELLIA128</p></td>
<td class="enum_member_description">
<p>The Camellia-128 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-CAMELLIA192:CAPS"></a>GMIME_CIPHER_ALGO_CAMELLIA192</p></td>
<td class="enum_member_description">
<p>The Camellia-192 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GMIME-CIPHER-ALGO-CAMELLIA256:CAPS"></a>GMIME_CIPHER_ALGO_CAMELLIA256</p></td>
<td class="enum_member_description">
<p>The Camellia-256 cipher.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GMimeDecryptResult-struct"></a><h3>struct GMimeDecryptResult</h3>
<pre class="programlisting">struct GMimeDecryptResult;</pre>
<p>An object containing the results from decrypting an encrypted stream.</p>
<div class="refsect3">
<a name="GMimeDecryptResult.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody></tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.32</div>
</body>
</html>